@bg: #f6fbf4;
@color1: #bdf2d5;
@color2: #4b5d67;
@color3: #3c2c3e;
@foodColor: #f77e21;
.cell() {
  width: 10px;
  height: 10px;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  overflow-y: hidden;
  height: 100vh;
  background-color: @bg;
  text-align: center;
  .box {
    display: flex;
    position: relative;
    flex-flow: column;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    vertical-align: middle;
    width: 360px;
    height: 420px;
    background-color: @color1;
    border: 10px solid @color3;
    border-radius: 10px;
    font-size: 0;
    #title {
      position: absolute;
      display: inline-block;
      color: #2bb19b;
      top: 35%;
      // width: 100%;
      // height: 100%;
      // font-size: 50px;
      font: 900 48px/1 'Source Sans Pro', Arial, sans-serif;
      text-shadow: 0 1px 0 hsl(174, 5%, 80%), 0 2px 0 hsl(174, 5%, 75%),
        0 3px 0 hsl(174, 5%, 70%), 0 4px 0 hsl(174, 5%, 66%),
        0 5px 0 hsl(174, 5%, 64%), 0 6px 0 hsl(174, 5%, 62%),
        0 7px 0 hsl(174, 5%, 61%), 0 8px 0 hsl(174, 5%, 60%),
        0 0 5px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.2),
        0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.2),
        0 10px 10px rgba(0, 0, 0, 0.2), 0 20px 20px rgba(0, 0, 0, 0.3);
        // span{
        //   font-size: 20px;
        // }
    }
    #stage {
      position: relative;
      // margin: auto;
      width: 304px;
      height: 304px;
      border: 2px solid @color3;
      #snake {
        position: absolute;
        visibility: hidden;
        & > div {
          position: absolute;
          .cell();
          background-color: @color2;
          border: 1px solid @color1;
        }
      }
      #food {
        position: absolute;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        visibility: hidden;
        .cell();
        div {
          width: 4px;
          height: 4px;
          background-color: @foodColor;
          transform: rotate(45deg);
        }
      }
    }
    #score-panel {
      width: 304px;
      display: flex;
      justify-content: space-around;
      font-size: 24px;
      font-weight: bolder;
      font-family: 'Rubik Mono One', sans-serif;
      // font-family: 'Titan One', cursive;
    }
  }
}
